iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
AI & Data

ㄟ唉廚房交響樂 多智能的煮飯秀系列 第 28

Day28 MADDPG multiagent-particle-envs

  • 分享至 

  • xImage
  •  

介紹完MADDPG,我們接著會實做些使用MADDPG的遊戲,如果之前在PettingZoo的章節看介紹的話,會發現裡面有很多經典的例子,或是有些人用多智能體做機器人的研究,不過我們這就用OpenAI非常純粹的遊戲環境,particle-envs,雖然畫面看起來挺單純,但其實裡面包含許多,合作、競爭以及通訊的設計,非常適合用來做實驗,接下來我們就來一起跑這個專案研究吧!
https://ithelp.ithome.com.tw/upload/images/20231007/20121110HuWJluVLOx.png

簡介

為了提供方便與簡潔的多智能體實驗環境,OpenAI推出了九個實驗環境方便大家實驗與設計自己的演算法。依照每個應用場景,主要分由是否通訊、是否為競爭關係,兩個種類去構成。
https://ithelp.ithome.com.tw/upload/images/20231007/20121110inYineXbpQ.png

安裝

因為是2018的專案了,基本上也不會有太大更新以及維護,python的版本建議是用3.7,不過官方有指定的依賴版本,可以參考官方建議

  • Python (3.5.4)
  • OpenAI gym (0.10.5)
  • numpy (1.14.5)
  • pyglet (1.5.27)

以下是我的版本

  • Python (3.7.16)
  • OpenAI gym (0.17.2)
  • numpy (1.21.6)
  • pyglet (0.18.2)

看是要跑系統的還是虛擬的環境,接下來就可以來安裝套件,

git clone git@github.com:openai/multiagent-particle-envs.git
cd multiagent-particle-envs

這邊有兩個地方會需要修改

  1. multiagent/rendering.py
    因為在跑程式的時候,from gym.utils import reraise可能會因為版本的問題出現錯誤,所以這邊我是選擇把 rendering.py 14~25遮蔽起來,25後面加上 import pyglet 跟 from pyglet.gl import *
#try:
#    import pyglet
#except ImportError as e:
#    reraise(suffix="HINT: you can install pyglet directly via 'pip install pyglet'. But if you really just want to install all Gym dependencies and not have to think about it, 'pip install -e .[all]' or 'pip install gym[all]' will do it.")

#try:
#    from pyglet.gl import *
#except ImportError as e:
#    reraise(prefix="Error occured while running `from pyglet.gl import *`",suffix="HINT: make sure you have OpenGL install. On Ubuntu, you can run 'apt-get install python-opengl'. If you're running on a server, you may need a virtual frame buffer; something like this should work: 'xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>'")
import pyglet
from pyglet.gl import *
  1. multiagent/multi_discrete.py
    這邊遮蔽的是gym.spaces prng
#from gym.spaces import prng

Run code,scenario後面的參數可以跑你想看的實驗環境

bin/interactive.py --scenario simple_world_comm.py

如果有看到畫面出來,那就代表沒問題囉!
https://ithelp.ithome.com.tw/upload/images/20231007/20121110kpNLk63nQI.png

結語

畢竟是OpenAI的專案,實驗的種類跟程式架構都算蠻整潔的,雖然好像2018~2020後就還沒看到其他更簡潔、多元的框架,不過目前看來是夠用的。下一張章節就來配合演算法,跑看實驗吧!


上一篇
Day27 MADDPG
下一篇
Day29 MADDPG run maddpg
系列文
ㄟ唉廚房交響樂 多智能的煮飯秀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言